package com.ruoyi.web.controller.api;

import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.utils.uuid.UUID;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

import static com.ruoyi.web.controller.api.BarcodeGenerator.generateBarcode;

public class UUIDOrderGenerator {
    public static String generate() {
        return UUID.randomUUID().toString()
                .replace("-", "")
                .substring(0, 6).toUpperCase();
    }
    //生成AU+年月日+随机数
    public static String generateOrderNo(String userId) {
        LocalDate currentDate = LocalDate.now();

        // 定义日期格式化模式，使用yyyy表示4位年份，MM表示2位月份，dd表示2位日期
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");

        // 格式化当前日期
        String formattedDate = currentDate.format(formatter);
        //4位随机数
        String random = generate();
        System.out.println("AU" + formattedDate + random);
        String orderNo = "AU" + formattedDate + userId + random;
        String filePath = RuoYiConfig.getUploadPath();
        generateBarcode(orderNo, 300, 100, filePath +"/"+ orderNo + ".png"); // 生成条形码并保存为PNG文件

        return orderNo;
    }


}